<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>2_类式组件</title>
</head>
<body>
  <!--准备好一个 div-->
  <div id="test"></div>

  <!--引入 react 核心库-->
  <script type="text/javascript" src="../js/16.8.4/react.development.js"></script>
  <!--引入 react-dom 用于支持 react 操作 DOM-->
  <script type="text/javascript" src="../js/16.8.4/react-dom.development.js"></script>
  <!--引入 babel 用于将 jsx 转为 js-->
  <script type="text/javascript" src="../js/16.8.4/babel.min.js"></script>

  <script type="text/babel">
    // 1.创建类式组件
    class MyComponent extends React.Component{
      render(){
        // render 方法放在哪里    --MyComponent的原型对象上，供实例使用
        // render 方法中的this是谁  --MyComponent的实例对象 <=> MyComponent组件实例对象
        console.log(this)
        return <h2>我是用类定义的组件（复杂组件）的定义</h2>
      }
    }
    // 渲染组件到页面
    ReactDOM.render(<MyComponent/>,document.getElementById('test'))
    /**
     * 执行了ReactDOM.render(<MyComponent/>,document.getElementById('test'))
     *    React解析组件标签，找到MyComponent
     *    发现组件是使用类定义的，随后new该类的实例，并通过该实例调用到原型上的render方法
     *    将render返回的虚拟DOM转为DOM，随后呈现在页面中
     *
     */
  </script>
</body>
</html>
